摘要:
首先,这题的第一问大家都懂,最长不上升子序列的长度 学习了几天闫式思考法f[i]表示以a[i]结尾的最长不上升子序列的长度,其实就是倒着跑最长不下降子序列的长度,第一问的答案就是max(ans,f[i]); 第二问,想不到好的贪心方法,就看了y总的提高课:(不会截图凑合看吧)贪心思路很清晰,重点是对 阅读全文
摘要:
12.1 https://ac.nowcoder.com/acm/contest/9165 其他神仙学校的新生赛(好像分不是很高) A题:我想的是每个字符读进来转成ascll码存一下就好,最后扫一遍几个答案。没想到直接set就可,忘记了stl的容器是永远的痛。 B题:一看好像是个博弈,但是自己手写几 阅读全文
摘要:
11.11 复建day1 T1 https://www.luogu.com.cn/problem/CF1426C 本来T1不该是这个的,但是前面有个F题,还是字符串,我就直接弃疗了。。。 题意:最少次的操作,使得初始是1的集合最后的和>n,t次询问。 我们可以把n拆分成xy+b的形式,也就是用(x- 阅读全文
摘要:
直接贴上大神的整理,我太懒了 https://blog.csdn.net/litble/article/details/75913032 阅读全文
摘要:
一、位运算 & :全是1才为1; l :有一个1就为1; xor :不一样为1; ~:0变1,1变0; 二、位运算基本操作: 1.取出最后几个连续的1:x&(x^(x+1)) 2.取出最后一个1:lowbit(x)->x&(-x);(-x是x的补码加1) 3. 阅读全文
摘要:
1.线段树是什么? 基于分治思想的二叉树结构,用于区间操作。 2.主要操作(例子是:线段树维护区间最大值) 建树 一点点分着向下拓展,左儿子编号是父节点编号*2,右儿子编号是左儿子编号+1; 单点修改 像建树时的一点点拓展一样,我们需要一直二分找到该点,并且把这个点父节点和祖父节点的所有区间都更新 阅读全文
摘要:
研究整数有关的理论,研究取膜意义下的运算理论。 1.枚举一个数的所有约数 o(sqrt(n)) 没啥好说的,直接代码。 2.分解质因数 就是从2开始枚举,如果这个没被去掉过,就把他的倍数全都消掉,这样我们每次取的时候都是这个数的质因数;一个数最多有一个>sqrt(n)的质因数,且这个质因数的指数最多 阅读全文
摘要:
exgcd(a,b,x,y) { if(b==0) x=1,y=0; else exgcd(a,a%b,y,x-(a/b)*y; } ax1+by1=c; ax2+by2=c; a(x1-x2)+b(y1-y2)=0; x=x1-x2; y=y1-y2; g=gcd(a,b); a=a0*g; b= 阅读全文
摘要:
vector是什么? vector其实就是一个数组,可以看成一个动态数组。内部实现是用倍增的思想,设n为vector实际长度,m为vector最大长度,当n=m时,vector就会申请2m的空间,并且把n转移到新的空间上,再进行其他操作。 可能现在你就会有疑问了,这样的话好像如果进行删除操作,那么空 阅读全文